"Les cours de neeko.fr"

Retour en haut

Java, rappels sur les classes : Le quiz

Les exercices sont indépendants.

1/ Si le code suivant est valide, à quoi ressemble au minimum la déclaration de la classe "Humain" ?

Humain utilisateur1 = new Humain(); utilisateur1.nom = "Chico"; Humain utilisateur2 = new Humain(); utilisateur2.nom = "Roberta";

2/ Si le code suivant est valide, à quoi ressemble la signature de la méthode "estMajeur" de la classe "AdministrationFrancaise" ?

Humain utilisateur1 = new Humain(); utilisateur1.nom = "Chico"; utilisateur1.age = 34; AdministrationFrancaise administration = new AdministrationFrancaise(); if (administration.estMajeur(utilisateur1.age)) { System.out.println(utilisateur1.nom + " est majeur en france !"); }

3/ Si le code suivant est valide, à quoi ressemble la signature de la méthode "estPlusAge" de la classe "Humain" ?

Humain utilisateur1 = new Humain(); utilisateur1.nom = "Chico"; utilisateur1.age = 34; Humain utilisateur2 = new Humain(); utilisateur2.nom = "Roberta"; utilisateur2.age = 35; if (utilisateur1.estPlusAge(utilisateur2)) { System.out.println(utilisateur1.nom + " est plus vieux que " + utilisateur2.nom); }

4/ Avec les déclarations suivantes, le code est-il valide ?

Vehicule opelCorsa = new Voiture(); opelCorsa.demarrer(); opelCorsa.accelerer(); opelCorsa.freiner();

Déclarations (valides)

public interface Vehicule { public void accelerer(); public void freiner(); }

public class Voiture implements Vehicule { public void demarrer(){ System.out.print("br-br-broooom"); } public void accelerer(){ System.out.print("vroooom"); } public void freiner(){ System.out.print("hiiiiiiii"); } }

5/ Quel sera le résultat affiché de l'execution de ce programme ?

Animal medor = new Chien(); Animal merlin = new Chat(); Animal joAsticot = new Animal(); Chien chuby = new Yorkshire(); Animal brad1 = new Pitbull(); Chien brad2 = new Pitbull(); Pitbull brad3 = new Pitbull(); medor.communiquer(); merlin.communiquer(); joAsticot.communiquer(); chuby.communiquer(); brad1.communiquer(); brad2.communiquer(); brad3.communiquer(); Chenil.faireConnaissance(brad1, chuby);

Déclarations

public class Chenil { static public void faireConnaissance(Animal premier, Animal second){ premier.communiquer(); second.communiquer(); } }

public class Animal { public void communiquer(){ System.out.print("-"); } }

public class Chien extends Animal { public void communiquer(){ System.out.print("wouaf"); } }

public class Chat extends Animal { public void communiquer(){ System.out.print("miiiaou"); } }

public class Yorkshire extends Chien { public void communiquer(){ System.out.print("waf waf waf waf waf"); } }

public class Pitbull extends Chien { public void communiquer(){ System.out.print("WOUAF!"); } }

6/ Quel sera le résultat affiché de l'execution de ce programme ?

Visiteur jeannot = new Visiteur(); VisiteGuidee visiteDuMusee = new MuseeDuLouvre(); visiteDuMusee.visite(jeannot);

Déclarations

public interface VisiteGuidee { public void visite(Touriste unTouriste); }

public interface Touriste { public void faireLaQueue(int nombreDeMinutes); public void payer(int valeurEnEuros); public void admirer(String oeuvre, int niveauAdmiration); }

public class MuseeDuLouvre implements VisiteGuidee { public void visite(Touriste unTouriste){ unTouriste.faireLaQueue(60); unTouriste.payer(11); unTouriste.admirer("La Joconde", 1); unTouriste.admirer("La Vénus de Milo", 1); unTouriste.admirer("La carte postale de la pyramide dans la boutique", 5); unTouriste.payer(2); } }

public class MuseeGranet implements VisiteGuidee { public void visite(Touriste unTouriste){ unTouriste.faireLaQueue(10); unTouriste.payer(4); unTouriste.admirer("Les Baigneuses de Paul Cézanne", 1); unTouriste.admirer("L'Autoportrait de Rembrandt", 1); unTouriste.admirer("La carte postale d'une cigale dans la boutique", 5); unTouriste.payer(3); } }

public class Visiteur implements Touriste { public void faireLaQueue(int nombreDeMinutes) { System.out.println("Pas de probleme, j'attends " + nombreDeMinutes + " minutes!" ); } public void payer(int valeurEnEuros) { System.out.println(valeurEnEuros + " ? C'est pas cher ! " ); } public void admirer(String oeuvre, int tempsAdmiration) { for (int i=0; i < niveauAdmiration; i++){ System.out.println(oeuvre + ", c'est magnifique ! " ); } } }

7/ A partir de l'exercice précédent, quelles modifications faudrait-il apporter que "jeannot" visite le musée du louvre puis le musée Granet ?

Visiteur jeannot = new Visiteur(); VisiteGuidee visiteDuMusee = new MuseeDuLouvre(); visiteDuMusee.visite(jeannot);